package com.candy.dao;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;

import java.sql.SQLException;

/**
 * @author donglin
 * @Title:
 * @类名: DBProvider
 * @date 2020/8/12
 */
public class DBProvider {
    /*/**
     * 方法描述 使用dbutils进行查询操作
     * @param  sql 查询的sql语句
     * @param   rsh 转储的结果集类型对应的实现类
     * @param  params sql语句的参数
     * @param  <T>结果集泛型
     *
     * @return返回结果集;
     */
    public static <T> T query(String sql, ResultSetHandler<T> rsh,Object...params){
    T t_queryResult=null;
    //获取查询操作对象QueryRunner
        QueryRunner runner=new QueryRunner(DBCPDataSource.getDataSource());
        try {
            //使用QueryRunner进行查询操作
            t_queryResult=runner.query(sql,rsh,params);
        } catch (SQLException e) {
            System.out.println("DBUtils数据库查询操作异常"+e);
        }
       return t_queryResult;
    }
    /*/**
     * 方法描述:使用DBUtils进行增删改操作
     * @param sql sql语句
     * @param params SQL语句的参数
     *
     * @return 操作结果影响的记录行数
    */
    public static int update(String sql,Object...params){
        int i=0;
        QueryRunner runner=new QueryRunner(DBCPDataSource.getDataSource());
        try {
            i=runner.update(sql, params);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return i;
    }

}
